A common requirement in a computer system user interface is entering information. This is typically done using entry fields. For text entry, typical characteristics of entry fields include a means for showing the insertion position, a means for moving the insertion position, and a means for entering text at the insertion position. Further characteristics may include the ability to select a section of the entered text, and operate on the selected text in a variety of ways.
There are certain constraints that can be enforced in order to get different types of data from the user. An example of this is ensuring the correct capitalisation of a title. Another example is the restriction of entry to numeric characters only.
Where complex data entry is required, such as with date or time values, it is helpful to consider the structure of the value. For example, a short UK date format may be considered as three distinct editable numeric elements with two non-editable separators between them. A common way of achieving this is to use a series of separate entry fields with each field forming one of the editable sections of the overall structure. This approach has several disadvantages. The user sees disjoint entry fields with fixed boundaries, rather than a single integrated entry field containing the required structure. Also, it is difficult to obtain the whole value with such a solution, as it is composed of many separate fields.